package com.yidu.drug.dao;

import java.util.List;

import com.yidu.drug.model.SalesStatisticsModel;
/**
 * 销售统计表Dao
 * @author tanglei
 * @date 2018年8月27日 下午2:52:26
 * @version 1.0
 */
public interface SalesStatisticsModelMapper {
	/**
	 * 增加销售统计表数据(一次性添加全部字段)
	 * @param record 传入一个销售统计表对象
	 * @return 返回一个影响的行数
	 */
    int insert(SalesStatisticsModel record);

    /**
     * 增加销售统计表数据(可增加一个或多个字段)
     * @param record 传入一个销售统计表对象
     * @return 返回一个影响的行数
     */
    int insertSelective(SalesStatisticsModel record);
    
    /**
     * 查询一年内每月销售统计表数据(包括分页和根据条件查询)
     * @param record 传入一个销售统计对象
     * @return 返回一个list集合
     */
    List<SalesStatisticsModel> findAllMonthSalesStatistics(SalesStatisticsModel record);
    
    /**
     * 查询每年销售统计表数据(包括分页和根据条件查询)
     * @param record 传入一个销售统计对象
     * @return 返回一个list集合
     */
    List<SalesStatisticsModel> findAllYearSalesStatistics(SalesStatisticsModel record);
    
    /**
     * 查询总行数(包括根据条件查询)
     * @param record 传入一个销售统计对象
     * @return 返回一个总行数
     */
    Long findRows(SalesStatisticsModel record);
    
    /**
     * 查询每年月成本总金额和月纯利润 
     * @param record 传入一个销售统计对象
     * @return 返回一个集合
     */
    List<SalesStatisticsModel> findTotalCostAllPriceAndSalesProfit(SalesStatisticsModel record);
    
    /**
     * 查询一年度年总销量
     * @param record 传入一个销售统计对象
     * @return 返回一个年总销量
     */
    Long findYearSumNumber(SalesStatisticsModel record);
    
    /**
     * 查询排行的药品名称
     * @param record 传入一个销售统计对象
     * @return 返回一个list集合
     */
    /*List<SalesStatisticsModel> findAllDrugName(SalesStatisticsModel record);*/
    
    /**
     * 查询今日或本月销量
     * @param record 传入一个销售统计对象
     * @return 返回一个销量的数量
     */
    Long findTodaysSalesOrMonthSales(SalesStatisticsModel record);
    
    /**
     * 查询今日收入或本月收入(纯收入)
     * @param record 传入一个销售统计对象
     * @return 返回一个收入的金额
     */
    Double findTodaysIncomeOrMonthIncome(SalesStatisticsModel record);
}